package gov.pr.celepar.sentinela.admin.pojo;

import java.io.Serializable;
import java.util.Date;

public class Usuario implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1075714414468967264L;

	private Long codUsuario;

	private String nome;

	private String login;

	private String senha;

	private String email;

	private String identidade;

	private String orgaoExpedidor;

	private String cpf;

	private String telefone;

	private Date dataCadastro;

	private Date dataTrocaSenha;

	private Date dataHoraUltimaSenhaErrada;

	private Integer tentativasSenhaErrada;

	private Boolean ativo;

	private Boolean root;

	private Boolean bloqueado;

	public Boolean getAtivo() {
		return this.ativo;
	}

	public void setAtivo(Boolean ativo) {
		this.ativo = ativo;
	}

	public Long getCodUsuario() {
		return this.codUsuario;
	}

	public void setCodUsuario(Long codUsuario) {
		this.codUsuario = codUsuario;
	}

	public String getCpf() {
		return this.cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public Date getDataCadastro() {
		return this.dataCadastro;
	}

	public void setDataCadastro(Date dataCadastro) {
		this.dataCadastro = dataCadastro;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Date getDataTrocaSenha() {
		return this.dataTrocaSenha;
	}

	public void setDataTrocaSenha(Date expiracaoSenha) {
		this.dataTrocaSenha = expiracaoSenha;
	}

	public String getIdentidade() {
		return this.identidade;
	}

	public void setIdentidade(String identidade) {
		this.identidade = identidade;
	}

	public String getOrgaoExpedidor() {
		return orgaoExpedidor;
	}

	public void setOrgaoExpedidor(String orgaoExpedidor) {
		this.orgaoExpedidor = orgaoExpedidor;
	}

	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getSenha() {
		return this.senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getTelefone() {
		return this.telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public Integer getTentativasSenhaErrada() {
		return this.tentativasSenhaErrada;
	}

	public void setTentativasSenhaErrada(Integer tentativasSenhaErrada) {
		this.tentativasSenhaErrada = tentativasSenhaErrada;
	}

	public Date getDataHoraUltimaSenhaErrada() {
		return this.dataHoraUltimaSenhaErrada;
	}

	public void setDataHoraUltimaSenhaErrada(Date ultimaSenhaErrada) {
		this.dataHoraUltimaSenhaErrada = ultimaSenhaErrada;
	}

	public Boolean getRoot() {
		return this.root;
	}

	public void setRoot(Boolean b) {
		this.root = b;
	}

	public Boolean getBloqueado() {
		return this.bloqueado;
	}

	public void setBloqueado(Boolean bloqueado) {
		this.bloqueado = bloqueado;
	}

	public boolean validaCpf() {
		int d1, d2;
		int digito1, digito2, resto;
		int digitoCPF;
		String nDigResult;
		d1 = d2 = 0;
		digito1 = digito2 = resto = 0;
		for (int n_Count = 1; n_Count < this.cpf.length() - 1; n_Count++) {
			digitoCPF = Integer.valueOf(
					this.cpf.substring(n_Count - 1, n_Count)).intValue();
			d1 = d1 + (11 - n_Count) * digitoCPF;
			d2 = d2 + (12 - n_Count) * digitoCPF;
		}
		;
		resto = (d1 % 11);
		if (resto < 2)
			digito1 = 0;
		else
			digito1 = 11 - resto;
		d2 += 2 * digito1;
		resto = (d2 % 11);
		if (resto < 2)
			digito2 = 0;
		else
			digito2 = 11 - resto;
		String nDigVerific = this.cpf.substring(this.cpf.length() - 2, this.cpf
				.length());
		nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
		return nDigVerific.equals(nDigResult);
	}
}